package com.icinfo.cloud.provider.punish.ucase.casemain.dto;

import cn.hutool.core.util.StrUtil;
import com.icinfo.cloud.common.core.page.BasePageRequest;
import com.icinfo.framework.tools.utils.StringUtils;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * @author cds
 * @date 2022/12/9
 * @since 汇信科技
 */
@Data
public class CaseDocumentPageDto extends BasePageRequest {

    /**
     * 文书种类编号
     */
    private String documentKindCode;

    /**
     * 当事人id
     */
    private String partyId;

    /**
     * 文书目录编码
     */
    private String documentCatalogCode;

    /**
     * 文书送达状态 SEND_0未送达 SEND_1已送达 null无需送达
     */
    private String documentSentStatus;

    /**
     * 确认状态 SIGN_0 未确认 SIGN_1已确认 null无需确认
     */
    private String documentSignstampedStatus;

    /**
     * 文号
     */
    private String documentNumber;

    /**
     * 文书地址
     */
    private String documentUrl;

    /**
     * 文书种类
     */
    private String documentCatalogName;


    /**
     * 任务名称 或任务编码
     */
    private String keyword;

    /**
     * 文书审核状态：notSubmit 待提交 ，pending  审批中  ，pass 审核完成通过，return 审核完成退回
     */
    private String documentAuditStatus;

    /**
     * 文书创建时间 开始时间 yyy-MM-dd
     */
    private String startTime;

    /**
     * 文书创建时间 结束时间 yyy-MM-dd
     */
    private String endTime;

    /**
     * 创建人名称
     */
    private String createUserName;

    /**
     * 创建部门名称
     */
    private String caseDeptName;

    /**
     * 办案单位
     */
    private String orgCode;

    /**
     * 机构编码列表--不用传
     **/
    private List<String> orgCodeList;
    /**
     * 部门编码列表--不用传
     **/
    private List<String> deptCodeList;
    /**
     * 部门机构判断--不用传
     **/
    private Integer org;

    /**
     * 当事人名称
     */
    private String partyName;

    /**
     * 文书来源-- 0：办案直通车/1：非办案直通车
     */
    @NotBlank(message = "请选择文书来源")
    private String documentSource;

    public void setStartTime(String startTime) {
        if (StrUtil.isNotEmpty(startTime)) {
            startTime = startTime.concat(" 00:00:00");
        }
        this.startTime = startTime;
    }

    public void setEndTime(String endTime) {
        if (StrUtil.isNotEmpty(endTime)) {
            endTime = endTime.concat(" 23:59:59");
        }
        this.endTime = endTime;
    }
}
